Magnetic core memory system



Nov. 25, 1958 R. STUART-WILLIAMS ETAL 2,362,193

MAGNETIC CORE MEMORY SYSTEM 12 Sheets-Sheet 2 Filed April 5. 1954 ERVWUNO 672/967-1014/40/6' 14/: 70 EQS'A/BEQG' x/lfirr/fw flex/0m Mam/052 INVENTORS BY i 107709196745 Nov. 25, 1958 R. STUART-WILLIAMS ETAL 2,862,198

MAGNETIC CORE MEMORY SYSTEM Filed April 5, 1954 12 Sheets-Sheet 3 lllllllllll D Qv ll.l \M g m1 N Nov. 25, 1958 R. STUART-WILLIAMS ET AL 2,862,193

MAGNETIC coma MEMORY SYSTEM A/ en E Q wm E/veA/(C) Nov. 25, 1958 R. STUART-WILLIAMS ETAL 2,

MAGNETIC CORE MEMORY SYSTEM 4 Filed April 5. 1954 12 Sheets-Sheet 6 aarpur E our ur f Nov. 25, 1958 Filed April 5. 1954 R. STUART-WILLIAMS ETAL MAGNETIC CORE MEMORY SYSTEM 12 Sheets-Sheet 7 Nov. 25, 1958 R. STUART-WILLIAMS ETAL MAGNETIC CORE MEMORY SYSTEM Filed April 5. 1954' 12 Sheets-Sheet 8 I l I I L Nov. 25, 1958 R. STUART-WILLIAMS ETAL 2,852,193

MAGNETIC CORE MEMORY SYSTEM Filed April 5. 195 12 SheetS -Sheet 9 prime/ 15%? Nov. 25, 1958 R. STUART-WILLlAMS ETAL 2,862,198

MAGNETIC com: MEMORY SYSTEM Filed April 5. 1954 12 Sheets-Sheet 10 EGAJZ XZ'+ +2 89/46/0170 670427-10/(1/190/5' X I/70 BGSEVEEQG 1447/7/64 964/010 fill-16 M059 I N V EN TORS United States Patent O MAGNETIC CORE MEMORY SYSTEM gorlporation, Los Angeles, Calili, a corporation of New Application April 5, 1954, Serial No. 421,142.

23 Claims. (Cl. 340-174) This invention relates to static magnetic memory systems, and, more particularly, to improvements in the construction and operation of magnetic core memory systems.

In an article by J. W. Forrester entitled Digital Information Storage in Three Dimensions Using Magnetic Cores, found in the Journal of Applied Physics, volume 22, pages 44 to 48, January 1951, there is described a coincident current magnetic core memory. A further description of this type of memory is found in an article by Jan A. Rajchrnan entitled Static Magnetic Matrix Memory and Switching Circuits in the RCA Review, volume 13, pages 183 to 201, for June 1952, and the latest work by Dr. Rajchman on magnetic core memories is found in the October 1953 Proceedings of the IRE entitled A Myriabit Magnetic Core Matrix Memory, pages 1407 to 1421. These articles describe a magnetic memory consisting of cores of magnetic material capable of saturation in either of two polarities, which may be designated as P or N and which may be driven from one to the other. The cores usually take the form of small toroids. The preferred hysteresis characteristic for magnetic material of which these cores are made is rectangular. Accordingly, to drive a core from P to N or vice versa there is a definite minimum or critical magnetomotive force required to be applied, or the core stays where it was before the force was applied. Less-than this magneto-motive force can provide some magnetic excursion, but essentially the saturated condition in the particular polarity of saturation remains.

As shown in the articles, these cores are arranged in columns and rows. A different coil is inductively coupled to all the cores in each column. Each of the coils 'is known as a column coil. A different coil is inductively coupled to all the cores in each row. Each of these coils is known as a row coil. A single reading coil is inductively coupled to all the cores in the memory. Selection of a core for storage of digitalinformation is made by exciting a row coil and a column coil coupled to that core with sufiicient current to drive that core to P or N, depending on whether the information sought to be stored is a 1 or a O. The currents applied to [the row coil and the column coil are each less than the critical value. of these currents coincidently receives a 'magnetomotive force in excess of the critical value and, therefore, is driven to saturation. For determining the storage conditiorl of a core, drives are always applied to drive it' toward a given polarity. It already at this polarity, no voltages are induced in the reading coil, and, if not in this polarity, then a voltage is induced in the reading coil. These concepts are described in detail in the above-noted articles.

It is interesting to note in the articles that these same magnetic cores may also be employed asswitches for the purpose of driving a memory. Furthermore, in addition to being suitablefor a two-dimensional storage array, the cores may also be used to provide a three-dimensional However, any core receiving the effects storage array, wherein a plurality of two-dimensional storage planes are simultaneously driven and inhibiting excitation is used selectively. This permits a word, consisting of a number of binary digits, to be stored in a three-dimensional magnetic memory, one bit being stored in each plane in a corresponding position.

In perusing the literature on magnetic core storage, it will be noted that in almost every instance the highest speed possible is attempted to be attained with these memories. is considered from a design standpoint, it is found that when this memory is sought to be fitted into an actual high-speed digital computer, the time .actually taken to operate the magnetic memory for writing or readingi's small, compared to the other operating times of such computer. Hence, it is possible to operate a magnetic core memory at a much lower rate than was originally conceived without decreasing the over-all operating rate of a computer by any noticeable factor.

.In the operation of magnetic matrices, it is noted that as the size of the matrix is increased the ratio of desired to undesired signal at the output of the reading coil is reduced. When reading coils are checkerboarded, i. e.,. the sense of the winding on each core is reversed and all the cores selected are chosen to have extremely'uni form characteristics, a first order of cancellation is achieved; However, with an increase in the matrix size, the number of uniform cores required is increased. Since the art has not yet reached the point where cores can be. made uniformly in every instance, either a large and costly number of rejects is obtained, or the matrix size attainable rapidly approaches a limit, or the uniformity requirements for the cores is reduced, with consequent complexities in driving and readi-ng'circuitry, in order to overcome the effects produced by the reduced uniformity requirements. One of the effects is to require absolutely uniform driving currents. The current applied to the core may be more readily maintained uniform if vacuum tubes are employed and the drive is direct. Uniform driving currents are difficult to obtain using magnetic switch drives. It is preferred to employ switch drives, however, as they are much cheaper and more reliable in reducing the number of vacuum tubes employed.

An object of the present invention is to provide a magnetic memory construction wherein the requirement for uniform characteristics for the memory cores is substantially reduced without increasing the wanted-to-unwanted signal ratio.

Another object of the present invention is to provide a method of operating a magnetic memory system which permits a reduction in the requirement for uniformity in the characteristics of the cores.

Another object of the present invention is to reduce the cost of a magnetic memory.

When a core in a memory is driven, as by either a column coil or a row coil excitation, it has a magnetic excursion. When the drive is removed, it does not return to the same magnetic position from which it originally started, but it may return to a position in a slightly less saturated region. Successive partial drives can cause successive and different magnetic excursions. These effects are due to the core traveling around different minor hysteresis loops with the different excitations. These are known as the delta effects, and can be found described in detail in an engineering report by E. A. Guditz entitled Delta in Ceramic Array No. 1, E488, October 14, 1952, which is obtainable from Massachusetts Institute of Technology. Cores in a memory, Which are not selected but which are in a row and column in which a selected core is included, receive the partial drives and, accordingly,

are not left in the same magnetic positions. When reading is desired, as briefly described previously, the selected However, if a magnetic memory of this type core is driven, and the presence or absence of an induced voltage in the reading coil is indicative of the condition of the selected core. However, with delta effects, amongst others, voltages are induced in the reading coil from the. partial driven cores which are not canceled by the checkerboarding of the reading winding which can become sufliciently large to mask the signal from the selected core.

An object or the present invention is to provide a method and means to minimize delta effects in the operation of a magnetic memory.

Still another object of the present invention is to provide a method and means for operating a magnetic matrix memory which provides a better wanted-to-unwanted reading ratio than heretofore obtainable.

These and other objects of the present invention are achievedby providing a magnetic array for a memory wherein the cores are disposed in columns and rows, as heretofore. However, the array is made rectangular, so that there are more of the one than the other. Current for the purpose of either reading or writing is applied to a row coil and a column coil which are inductively coupled to a selected core. However, if the column coil has the larger number of cores, in view of the rectangular array, the current applied thereto is increased to its maximum value during an interval on the order of the turnover time of the cores. The current is substantially maintained at this maximum value during an interval equal to a factor times the turnover time of the cores, and it is then reduced and brought to a value which has the opposite polarity over an interval also substantially equal to the core turnover time. The negative maximum value is then maintained for a period equal to a multiple of the core turnover time and is then reduced to 0. The row'coil has a current pulse applied thereto immediately after'the disturbance due to the rise time of the column coil current pulse has subsided. This row. coil current pulse is maintained during an interval on the order of the core turnover time. After it subsides, a second row coil current pulse is applied which is equal but of opposite polarity. It, too, is applied during the interval of application of the column coil current pulse. It is to be noted that the core is left in one polarity as a result of the application of the first column coil current pulse and the two row coil current pulses. To leave the core in the opposite polarity, in place of the second row coil pulse, a similar pulse is applied to the row coil but during the interval of the second column coil pulse and with the same polarity as the column coil pulse. Reading occurs during the interval of the first row coil pulse, and the detection or non-detection of a voltage determines the polarity of the core being read and, theref ore, the time of application of the second row coil pulse.

In a second embodiment of the invention, the program of pulses to the column coil is repeated, except that a third current pulse similar to the first is applied at the end of the application of the second pulse. The row coil has a program of pulses applied as follows. A first current pulse is applied during the first column coil current pulse. The row coil pulse has the same polarity as the column coil pulse, but its duration is only on the order of a turnover time of a core. A second row coil pulse having the opposite polarity is applied during the second column coil pulse. It is to be noted that this leaves the core in one polarity. Reading occurs during the application interval of these two row coil pulses. To

leave the core in the opposite polarity, two more row coil' pulses are applied, one during the third column coil'pulse with the same polarity as the third column coil pulse, and the last pulse is applied in opposite polarity after the column coil pulse has subsided. The detection or nondetection of a voltage upon reading determines the application or not of the last two row coil pulses.

The novel features that are considered characteristic appended claims. The invention, itself, both as to its organization and method of operation, as well as additional objects and advantages thereof, will best be understood from the following description when read in connection with the accompanying drawings, in which:

Figure 1 represents a core and its associated windings in a magnetic memory matrix.

Figure 2 represents a typical hysteresis characteristic I shown for the purpose of assisting in the explanation herein.

Figure 3 represents typical wave shapes obtained in a reading coil in a matrix excited by long and short pulses.

Figure 4 is the current waveforms required for operating a matrix in accordance with a preferred program embodying the invention.

Figure 5 is the current waveforms required for operating a matrix in accordance with another program which i is another embodiment of the invention.

Figure 6 is a schematic diagram of a magnetic core memory withcores disposed in a rectangular array.

Figure 7 is a schematic diagram of a magnetic core memory showing a different core disposition but embodying the principles of a rectangular array.

Figure 8 is a schematic diagram of a magnetic core switch suitable for driving a magnetic memory in accordance with the requirements of one program.

Figure 9 is a schematic diagram of a magnetic core switch suitable for driving a magnetic memory in accordance with the requirements of a second program.

Figure 10 is a schematic diagram of a three-dimensional magnetic memory system.

Figure 11 is a wave shape diagram showing the wave shapes required in the operation of the systemshown in Figure 10.

' Figure 12 is a circuit diagram of a timing wave shape generator suitable for providing the timing wave shapes required for operation of a magnetic core matrix memory.

Figure 13 shows the wave shapes obtainable with the circuit drawn in Figure 1 2.

Figure 14 is a logical schematic diagram of the system for addressing the memory column coils.

Figure 15 is a circuit diagram of some of the basic circuit'components shown in Figure 14.

Figure 16 shows typical waveforms obtained in the reading coil of a memory.

Figures 17 and 17A show the reading amplifier integrator and attendant switching circuitry.

Figure 18 shows the circuit diagram for the trigger circuit and And gates required for each digit plane in a memory.

Figure 19 shows the waveforms obtained at various coupling all of thecores in a given row in a matrix. By.

. column coil is to be understood, similarly, the coil coupling all of the cores in a column of the matrix. The reading coil is the coil coupling all. of the cores in the matrix so that driving one or more of the cores induces voltages in the reading coil. By delta effect is meant, as previously stated, the effects caused by cores traveling on different minor hysteresis loops with different drives.

The principles of the proposed system.The presently known principle of operation of magnetic core matrices requires-that two equal current pulses should becoincident at a selected core, the sum 'of the currents being sufficeint to change the' state of the core, while one pulse along is insufiicient. If maximum speed ofoperation is required, these pulses should be asshort as possible and exactly coincident. Considerable thought has been given in the past to ensure exact time coincidence. However, if time is not too important, one pulse may be much longer than the minimum possible value. This pulse is established first, the shorter pulse occurring later. Figure 1 shows a toroidal storage core of a type suitable for use in a magnetic matrix memory. The core has three windings 12, 14, 16 inductively coupled thereto. One winding 12 is part of a column coil or X? line, a second winding 14 is part of a row coil or Y line, and the third winding 16 is part of the reading coil used in a magnetic memory. A long pulse is applied to the X line of the matrix and a short pulse is applied to the Y line during the long pulse.

A typical hysteresis loop of a storage core 10 is shown in. Figure 2. The core is said to be storing 0 if at state P or to be storing 1 if at state N. The magnitude of the magnetomotive force, or M. M. F., provided by the X or Y line is represented by amount 0Q. Provided the turns are fixed, the M. M. F. can be expressed in terms of the current flowing in the wires. If a single pulse of current is applied to the core, it will move first to Q or Q", depending on whether it was storing at N or P. When the pulse is released, it will move back to the axis to a point very near N or P. Since the top and bottom portions of the loops are not exactly horizontal, some output will appear in the reading winding as a result of these excursions. If now both pulses are applied, the pulse will move first to Q or Q", as before. When the Y pulse commences, the core will move to R. When the Y pulse finishes, the core will move to Q, and, when the X pulse finishes, the core will move to P. If the core was originally at P, the excursion QR will occur during the Y pulse. This will produce a signal in the reading coil that is approximately equal to that produced by a PQ movement. If the core was at N, the excursion QR' will occur during the Y pulse. This will cause a very large signal output. Thus, the only time at which a large signal can be produced in a selected core is during the Y pulse and if the selected core was storing in state N. The pulses occurring in the read ing coil are illustrated in Figure 3. This shows the X pulse or column coil pulse, the Y pulse or row coil pulse, the effects of the single application of these pulses in the reading coil, and the eifects of the combined application of these pulses when a core is in P and when a core is in N.

This process of driving a matrix makes it possible to separate the occurrence in time of the disturbing pulses due to the X selection and those due to the Y. If now, reading is commenced at the beginning of the Y pulse after any disturbance due to the X pulse has finished, only those cores on the selected line in the Y direction cause disturbance. In a square array, only half the energized cores contribute to the disturbance, and, therefore, the undesired signal at the output due to non uniformity of the cores is reduced by \/2 as this is a random effect. This always assumes that the normal compensating type of reading winding has been employed, for example, the checkerboard in which the windings on alternate cores are arranged so that disturbing signals of opposing polarity are induced therein and hence tend to cancel each other. The delta efiect, however, increases linearly with the number of cores disturbed, and, therefore, this is reduced by two.

In a large matrix, the delta effect is more important than errors due to nonuniformity, and, therefore, the more important quantity is reduced by the major amount. This improvement can be made larger still by making the matrix rectangular instead of square. For example, a 4096 bit matrix can be assembled either as 64 by 64, 128 by 32, 256 by 16, and so on. If, now, the longer pulse drives the line linking the greater number of cores and the shorter pulse drives the line with the smaller '6 number of cores, the disturbance :is reducedstillmore. This is illustrated in the following table with respect to a 4096 bit matrix.

The relative figures above refer to a symmetrically driven square matrix as unity.

The extra driving lines represent additional external circuits. Hence the important figure is the pro'duct of the relative delta effect and the number of driving lines. This is 128 for a normal 64 x 64 matrix. For the four cases above, it is 64, 40, 34, and 32.5. Hence within the range shown, there is always a net improvement due' to using a rectangular matrix with this system. The value of the product falls very rapidly initially, but in the system used, as an illustration, the lowest value of the product is 32, for the case of 4096 x 1 way matrix. -It is considered that the 128 x 32 way system is to be preferred, as the product is very near its lowest value; the increase in lines is only 25 percent, but the reduction in delta is a factor of 4. In fact, since only 32 cores can contribute to the undesired signal, the output signal 'is directly equivalent to that received from a 256 bit'matrix. Hence, by this means, it has been possible to make a matrix having 16 times the capacity without increasing the value of the undesired signal.

If more time is permitted, the long X'pulse should rise very slowly. The output occurring during this pulse is then very small as the rate of rise 'of current and, hence, output voltage is small. Thus the early pulses can be completely neglected. This has an additional advantage that the voltage drop in the X windings is small, simplifying the problem of driving the large num- 'ber of cores on this winding which is inherent in the use of the rectangular matrix.

If one considers the disturbance occurring in the reading coil at the time of application of the Y pulse, it is as follows:

Flux due to selected core moving from Q 'or Q toR.

Flux due to seven unselected cores moving fromN to Q or from P to Q".

Flux due to eight cores moving from N to Q or P to Q. These cores will be linked in the opposite polarity to the selected core and the previous seven unselected cores.

When the core turns from Q to R, the output from the selected core is so large that it is not necessary to consider the etfect of the interference. When the core moves from Q" to R, the results are much more'important.

Best cases If the cores are very uniform, the results in both cases are very nearly 0. These are the equations which are disturbed by lack of uniformity of the cores.

Worst cases If PQ is not equal to NQ, the result is not 0. This is generally known as delta effect and lies in the fact that the operating excursions in the P region are not the same as in the N region. This effect is extreme.

-of the turnover time of a core.

7 1y objectionable, as it means that the undesired signal varies with the information stored. It will be shown later herein that by a correct choice of the method of driving the cores the delta effect can be reduced considerably.

In reading the output obtained in a reading coil, the method of strobing, or reading the voltage induced in the reading coil after amplification and rectification during an interval after the transients occurring as a result of partial drive and air pickup have subsided and before the voltage induced by driving the selected core has subsided, was a method that found, and still finds, great favor. However, when it is desired to go to a threedimensional storage system of the type described by Forrester, the control circuits required to generate accurately timed strobing pulses for the many parallel memory planes of the system becomes extremely cumbersome. In addition, circuits which are required to produce an accurately controlled time delay are inherently unreliable. It is preferable, in order to avoid these limitations and dlfl'lCUltlCS, to integrate the signal from the reading winding in a manner so that the output from the integrator represents the flux excursion of the cores.

Using integration, the reading system is not time dependent. One system of integration is described in the article by Rajchman. The theory behind integration may be understood from the following explanation. Referring now to Figure 2, again there is shown an idealized rectangular hysteresis loop. OS represents a negative half magnetomotive drive; OT represents a negative full magnetomotive drive. By half and full M. M. F. drives are meant, respectively, the drives due to current in either the X or Y line and the drive due to currents in both lines concurrently.

The main basis of this form of reading is that if a core is storing at N and receives a /2P current and then a /zN current, it moves first to Q and then to N, back to the SS" line, and, finally, to N. A similar action takes place if a core is at P and receives a /2P- /2N cycle. During this and any subsequent action, these minor loops tend to close, i. e., N" is very near N. The closure of this loop improves as more /2P /2N cycles are applied, and, after five or six cycles, the loops are so nearly closed that it is not possible to detect any error.

Hence, if integration proceeds over two beats or a cycle of /2P /'.N, the signal due to disturbed cores is effectively zero. This principle is used either in its complete form or in a modified form in the two systems which are described in this application.

Figure 4 shows the current waveforms applied to the X and Y lines to achieve a preferred method of operation of a magnetic matrix memory.

Waveform A is applied to a selected X wire. It commences at time T and rises slowly to its maximum possible value by time T Its rise time may be on the order of a turnover time of a core. It then remains at this value, producing a magnetomotive force represented by OQ in Figure 2 until time T The duration of the plateau time. of waveform A is on the order of a multiple It then changes from its maximum positive value to its maximum negative value, producing a magnetomotive force represented by OS in Figure 2 by time T It then remains at this value until time T when it decays to zero by the final time T The negative portion ofthe waveform may be substantially the same in duration, amplitude, and rise time as the positive portion, or it may even have a shorter duration for reasons appearing later.

Waveform B is applied to the selected Y line between times T and T T follows T, by a time sutficient to allow all disturbance due to the application of waveform A to have subsided. This is usually on the order of the turnover time of the cores used. The amplitude of the pulse is equal to that of the positive part of pulse A. The duration, T to T is suflicient to allow the selected core to move from state N to state P completely, this being on the order of the core turnover time.

A time delay T to T allows sufficient time to complete the reading process and to transfer the information determining whether the core is to be set to P or N.

If it is desired to leave the core at P, a current pulse C is applied to the Y line during times T to T This pulse has exactly the same characteristics as B, except that it is negative going. The time T to T is inserted to reduce the requirement for accurate timing.

If it is desired to reset the core to N, pulse D is applied to the Y line instead of pulse C. This pulse has the same shape and amplitude as pulse C. Its duration T to T is less than T to T to remove the need for accurate timing.

The magnetomotive force applied to the selected core, if it is finally set to P, is shown in waveform E. The magnetomotive force applied to the selected core when it is set in N is shown in waveform F.

The force applied to an unselected core on a selected X line may be represented by wave shape A. The force applied to an unselected core on a selected Y line may be represented by wave shapes B and C or B and D. Hence, any energized unselected core receives equal forces in both directions during the cycle. By an unselected core is meant a core which is inductively coupled to either an energized column coil or row coil but not to both. The core coupled to both is a selected core and will be driven to P or N as shown by wave shapes E or F.

Reading is commenced in the cycle at time T and finishes by time T Hence, only the disturbance due to the Y current pulse is read, since by the time the reading commences the disturbance due to the application of the X current pulse has subsided.

One important advantage of this system for driving cores is that cores need to be uniform in any single Y line only, as this is the place in which disturbances are significant. This has two results. First, a large number of grades of cores may be used so that all good storage cores may be incorporated in the equipment. In fact, the acceptance figure is percent, rather than 25 percent, for previous methods of using cores. Secondly, the cores in any Y line may be made extremely uniform, so uniform in fact, that nonuniformity effects can be neglected. When this method of driving the cores is employed for a rectangular matrix having, for example, more columns than rows, with the X drive being applied to the column coils and the Y drive to the row coils since there are fewer cores in each row, the number of required uniform cores is considerably reduced.

Consider the case of a core being set to P employing the X and Y drives represented, respectively, by wave shapes A and B. By time T the core has moved either to Q or Q in Figure 2, depending on whether it was at N or P to begin with. By time T it is at R. By time T it is at Q. By time T it is at P. It then returns to Q and then through to S by time T By time T it has moved to P.

In a similar manner, a core being set to N finally ends at N. Hence, P and N are the initial storage points. In accordance with this method of driving, any subsequent disturbances of the core when it is not in the selected position are of the /2P /2N type. A core at N will move to N under the influence of the first disturbance. During the AP portion of the cycle, a core at N moves from N to N, a core at P moves from P to P. However, the original drive action and any subsequent disturbances are symmetrical. Hence, PP is equal to NN. Since P" is very near P, then PP is very nearly equal to NN. This equality will improve with subsequent disturbances. Hence, if the cores are chosen in pairs and the reading coil is wound so that the voltage output of each member of the pair is induced in an opposing manner. in the reading coil, the output from them will be zero if both cores are in the same state and PP if they 19 arein opposite states. It is .known that this amount is very small.

Consider 32 cores on a Y line to be driven. In order of cycling history, with the lowest first, there can be:

1. Theselected core;

2. The core just previously selected;

3. Core with one disturbing cycle;

4. Core with two disturbing cycles;

5. Core with three disturbing cycles; and so on.

If we take the cores in pairs (1 and 2), (3 and 4), (5 and 6), (7 and 8), (9 and 10), etc., the pairs commencing 9 and 10, and so on, will give zero output as they have received a sufiicient number of cycles to settle. Pairs from (3 and 4) to (7 and 8) will give small outputs; the largest of these will be much smaller than PP.

The selected core when driven to P can move from a point near Q" to R or from'Q' to R. The core which opposes it can move from P to 'P" or from N to N.

The output will be less than PR if the selected core was in P and about Q'Q if the selected core was in N. Thus, the core in P will not provide a completely zero output in the reading coil; however, it will be very small.

It will be seen that the behaviour of this system during the reading interval is analogous to the behaviour of a system which uses a two-beat reading integration cycle, namely one which first is driven positive and then negative. This is made possible by the application of symmetrical driving forces on the cores at all times so that they are left at the proper point of their hysteresis characteristic curve at the completion of either a writing or reading cycle.

A cycle which was very popular at one time was to apply the X and Y /zN pulses at different times. This resulted in two /:N actions on a core after it was first set to P. This inserted an initial assymmetry into the minor loops which made-it necessary to employ a more complex form of integration over two beats.

Reference is now made to Figure 5, which shows the waveforms of X and Y current pulses used for a driving method which is another embodiment of the invention herein. The same letters are applied to the curves in Figure 5 as were used in Figure 4 to assist in identifying the waveforms with the proper driving lines.

Current waveform A is applied to the X winding, its positive and negative maximum amplitudes being sufficient to provide drives to OQ and OS, respectively. The waveform starts at T rises to its positive value by T over a time on the order of a core turnover time, has a plateau on the order of'a multiple of a core turnover time, falls at T to its negative value at T rises at T to its positive value at T falls at T to zero 'at T and thereafter remains at zero; The respective positive, negative, and positive values of the current pulses are the same as are their durations and rise times.

The Y line current waveform, if it is desired todriv'e the core to polarity N, is shown in B. The positive and negative pulses have sufiicient amplitude to drive the core first to P and then to N and are long enough to allow complete transition of the core. They occur, in time, within the corresponding X pulses, so that there is no problem of time location, and, further, these B pulses are applied sufliciently late, so that the disturbances due to an X pulse have always died away before the Y pulse can commence.

The pulse train for setting a core to P is shown in C. It consists of repeating pulse train B twice.

The total forces on the core for setting to N or P, respectively, are shown in D and E.

This system has the advantages that:

a. Two-cycle integration can be employed, the reading by integration occurring only during the first two Y pulses in the intervals from T to T and T to T b. The determination ofan N or P final core state'is made by feeding the second pair of pulses shown in C 10 for P and by not feeding them for N. The plair of pulses represent one switch operation and, therefore, the decision to set to P or Ncan be made by inhibiting a switch or not, as desired. This makes the waveform particularly suitable for parallel operation. A switch for this purpose is described later in this disclosure.

c. On the average, each core in the matrix receives more /2P /2N cycles. Thus, the cores settle to the final storage point more rapidly than when the cycle previously described is used.

The system has two disadvantages:

a. It takes more time than the previously described cycle.

b. It is not symmetrical in operation. The unbalanced half-P pulse in the X windings tends to bias the storage points towards P.

The initial storage point of a core drivenin accordance with this second method is either P or N on Figure 2. Any subsequent Y line excitation will cause the P storage state to settle nearer and nearer to the final storage point. The N storage point, on the other hand, will be forced towards P on the first /2P pulse from the Y. Hence the loops in the N and P region are not similar. Any subsequent X excitations will tend to push both the N and P storage states toward P, further destroying the symmetry. Hence, with this program, it is almost essential to use integration over the first two beats to avoid the effects of dissymmetry. The method of performing this would be to open a gate from the reading coil into an integrator from time T to T and then from T to T The integration would then take into account the Y cores only, neglecting the X cores. Thus, the advantages of unequal pulse-length drive are retained.

This system would be particularly useful if strobing were employed, as it is known that this type of assymmetry reduces delta effect for strobing.

As a result of use of unequal pulse-length drive systems, the following advantages are obtained:

(1) The ratio of desired to undesired signal at the output of the reading winding is increased because:

a. The contribution due to the X cores is neglected;

b. By making the matrix rectangular effect, a can be increased;

c. Errors due to nonuniformity can be neglected, as it is only necessary to keep all cores ineach Y line uniform. Hence, high uniformity is possible; and

cl. In the preferred program, due to the inherent symmetry of operation of the cores, the delta effect is reduced.

(2) The reduction in over-all matrix core uniformity afforded by this system allows one to utilize a larger percentage of manufactured cores than heretofore possible.

(3) His generally possible to apply more rigid con-' trol of current on long pulses such as occur in A of Figures 5 and 6. This is particularly so in this case, as only a portion of the top of these pulses must be accurately controlled. This allow one to place wider tolerances on the fast Y line pulses, making it easy to use magnetic switches for providing the Y line pulses. The rigid control of the X pulses is extremely easy in the systems shown later herein, as direct drive of the X wires is employed. This is possible as the number of X wires is small and the waveforms rise and fall slowly, so that no large voltages have to be provided by the drivers.

Referring nowto Figure 6, there will be seen a vestigial schematic diagram of a magnetic core matrix memory in a rectangular array of 32 x 128. The X drive is applied to a selected one of the 32 column coils 12 and the Y drive is applied to a' selected one of the row coils 14. A core 10 coupled to the excited X and Y line or row and column coil is the desired core. Current is applied to the coils either from vacuum tubes or magnetic switche (not shown), as desired. As indicated previously it is preferred, with the program herein described,

will always be the same.

11 to apply current to the column coils using vacuum tube drives and to apply current to the row coils using a magnetic switch drive. A reading coil 16 is interlaced in the memory. It is coupled to all the cores.

Since reading occurs, in accordance with the program herein described, only after the disturbance caused by application of the column coil current has subsided, a great saving in time and efiort in constructing the memory is afforded. One of the most diflicult windings to insert in the memory is the winding required for the reading coil. Heretofore, double checkerboarding, that is reversing the reading winding sense with every core, was required with programs where both X and Y drives occurred simultaneously in order to cancel the disturbances caused by both drives. In view of the programs described in the subject embodiment of the invention, checkerboarding is required only in the Y direction, since there is no X disturbance at the time of reading. This simplifies winding the reading coil tremendously. If the columns are numbered from to 31 commencing with the column on the left, the winding goes up through all the cores in column 0 in one sense, comes down through column 2, up through column 4, thus lacing back and forth through all the even-numbered columns. When column is reached, the winding is next laced through column 31 and theninterlaced through the odd-numbered columns to be brought out at column one. This eliminates air pickup in the Y direction, due to the fact that the'reading winding is normal to drive from the row coils. Furthermore, a convenient terminal point for the reading coil is provided, since the amount of pickup is reduced when connecting the coil through a twisted pair of wires to other apparatus.

In order to show the reading winding more clearly,

reference is made to Figure 7, which is a schematic drawing of a 4 x 8 matrix. The columns are folded over, as it were. In other words, instead of a column consisting of eight aligned cores 10, it consists of four of the eight cores disposed alongside of and in an offset manner from the other four cores. 12 still winds through all eight cores in series. The advantage of this form of core layout is that it permits easier assembly, smaller and noninductive winding arrangements, and the bringing out of all X lines to one side. There are two column coil turns through every core, one row coil turn, and one reading coil turn. The reading coil 16 goes up through the cores in column zero (up through the core hole in the first four cores and up through the hole in the last four cores) through the cores in column two, through the cores in column three, and back through the cores in column one. If the sense of the reading winding is examined in an X direction, it If the sense of the winding is examined in the Y direction, it will be checkerboarded. Ifa memory in three dimensions is desired, then a plurality of these core planes may be employed with the corresponding X lines of all the core planes being con nected in series and the Y lines being brought out to a side.

. A schematic diagram of a switch which is suitable for providing Y line pulses of the type shown in Figure 4, curves B, C, and D, is shown in Figure 8. An eightway switch suitable for use with the 4 x 8 memory shown in Figure 7 may be seen. As with the size of the memory described herein, the numbers chosen are by way of example only and are not to be construed as a limitation. Switches or memories of any desired size may be built employing the principles herein described.

The switch uses two magnetic cores 20A, 203 for driving each row coil. These cores are represented by two parallel horizontal lines. A number of coils 22-3S pas through the holes in all the switch cores. These are represented by vertical lines. Whether or not one of these coils is coupled to a core and the sense of such coupling is represented by a line crossing the intersec- However, each column coil switch in an N direction.

tion of the coil and core at an angle. An acute angle to the left represents a coupling whereby current in the coil tends to drive the core to N. An acute angle to the right represents a coupling whereby current in the coil tends to drive the core to P. An output coil 40 is coupled at each position to the two cores 20A, 20B in an opposing sense.- The output coil 40 is also coupled to a row coil 14 in the memory. There is a plane inhibit coil 38 which is coupled to all the core in the Six selecting coils 2232 are shown which are coupled to the various switch cores in a'desired combinatorial fashion in an N going direction. There is a P drive coil 36 and an N drive coil 34, both coupled to alternate cores in a P drive direction.

In operation, the selecting coils as well as the plane inhibit coil are always excited and always have sufiicient excitation so that any one of them maintains the cores to which they are coupled at N. A row coil is selected for excitation by cutting off all the current in the selecting coils coupled to the two cores at the selected row coil position and also the excitation applied to the plane inhibit coil. At the proper time, the P coil is excited applying a P drive to one of the two cores 20A at the position driving this core to P and inducing a P drive pulse in the row coil. The P drive pulse is terminated when desired, and, subsequently, for writing P or, still later, for writing N, a drive is applied to the N drive coil. This drives the second core at the position to P, inducing an N pulse in the output coil. Then this pulse is terminated and current is restored to the selecting cores and plane inhibit coil. This drives both cores backto N together, but, because of the opposing coupling in the output coil, the voltages induced as a result cancel.

The drive to the various coils of the switch may be by tubes (not shown). One switch is required for each core plane. However, the switches are addressed in parallel through their selecting windings in order to excite the same row coil in each memory. The plane inhibit coil 38 finds use when it is desired to inhibit a row coil excitatiomeven though the address has been established and proper P and N drives have been applied. It can also be used to determinewhether a core is'set to P or N. After a P coil is excited and its excitation terminated, the plane inhibit coil can be excited to reset the core driven by the P drive coil to N. This induces an N drive pulse in the output coil. Also, a subsequently applied N coil drive has no effect. Preventing a drive from the plane inhibit coil can permit the N drive coil to take effect. Thus excitation or not of the core plane inhibit coil can determine the polarity of a memory core when drives are always applied to the P and N drive coils in the sequence determined by curves B and D in Figure 4.

The P and 'N drives can be made common to a large number of switches, which can be used to drive a corresponding number of magnetic arrays where storage in three dimensions is desired.

This switch can also be used to provide waveforms of the type required in Figure 5. The P and N drive coils havejdrive currents applied at the proper time interval to provide the first two pulses. The cores are then reset as before. The drives are applied again. This time, however, the switching is or is not inhibited during the second P and N pulse drive by exciting or not the plane inhibit coil.

Figure 9 shows a switch suitable for providing a program of row coil pulses of the type represented by curves B and C in Figure 5. Only a single core 593 is used at each switch position. An output coil 52 is inductively coupled to each core. Selecting coils 54 64 are again employed, all coupled to the cores in a desired combinatorial code and in a manner to drive the cores to which they are coupled to N. Also provided are a P drive coil 66 and an N drive coil 68, which are coupled to all the cores and when excited respectively drive the cores to P or N. Selection ofa row for excitation, as previously, is obtained by cutting off the current to the N coil and the selecting coils coupled to that core. The P drive coil is excited at the proper time, thus driving only the selected core to P. The other cores are inhibited by the remaining excited selecting coils. The driven core induces a voltage in the output coil. The P drive is terminated and the N drive coil is excited at the proper time to reset the core and induce an N drive in the output coil. This is repeated if it is desired to leave the memory core in P. It is to be noted that with a suitable pulse programming, this switch can also be employed to provide the wave shapes required for Figure 4. The N drive coil can also be used to inhibit the operation of the switch if it is required.

Figure is a schematic diagram of a three-dimensional array which incorporates the principles described heretofore. It comprises, by way of example, at least three rectangular storage matrices 70A, 70B, 70C, of the type shown in Figure 6 or '7, each of which has cores arranged in columns and rows. There are more rows than columns, although, of course, this could be reversed, in view of the fact there are many more cores in a column than in a row; the row coils (not shown) are each coupled to a switch element in a row switch which isdesignated as a Y switch 72A, 72B, 720. A Y switch is provided for each storage matrix. These Y switches may be of the type shown in Figure 8 or 9. The column coils (not shown) of each matrix are connected in series with the corresponding column coils in the other matrices. The column coils are driven from the rectangle labeled X drive and selector 74. This unit generates an accurately controlled waveform corresponding to the one shown in Figure 11A and switches it so that it flows in theselected X line of'all of the matrices in cascade. The Y switches 72A, 72B, 72C provide waveforms in accordance with the, waveforms B, C, and D in Figure 4. The Y address drivers 76 select the selecting coils in the Y switches which are to be cut oil and thus select the switch core positions and the row coil in each storage matrix which is to receive current pulses. The Y address is usually set up in advance.

By way of example, in the rectangular memory matrices including 32 columns or 32 X lines and 128 rows or 128 Ylines, the address to the X selector 74 may be fed as five binary digits and to the Y address driver 76 as seven binary digits. These seven binary digitsmay be decoded to select three out of 16 tubes which are to be cut off. These 16 tubes are the selecting coil drivers for the Y switches. As previously stated, this leaves one core in each ofthe Y switches 72A, 72B,72C which is not inhibited. The P driver 78 is operated toprovide wave shape B in Figure 11 at a time after the disturbance caused by the application of theX drivewaveform to the storage matrices has subsided. By connecting in series all of the P drive coils, -a common P driver 78 may be provided for the memory system. The P driver causes all selected switch cores to be driven simultaneously to P, and, accordingly, the selected cores in each matrix which are coupled to the driven row and column coils are driven to P.

If it is desired to read the conditions of the core being driven, this reading occurs over the interval of the P drive. It will be noted that any efiects due to the X drive have subsided by the time the P drive is applied to the row coils. If it is desired to leave the core in P, then the N driver 80 provides a pulse at the proper time to the Y switches which have all their N driver coils in series. Each switch then provides current to the selected row coil. The N driver 80 also provides a second pulse, as shown in Figure 11, during the time when the X drive current has reversed. To leave the memory core in P, this second pulse must be inhibited. To. leave the core in N, the first pulse must be inhibited.

'14 The operation of the apparatus to efiectuate these results will become more clear with the description of the reading process.

When it is desired to read, as previously stated, the reading occurs during the period of P drive to the switch. Each switch has circuitry as shown in Figure 10, consisting of a flip-flop '82 with two And gates 84, 86 coupled to the outputs and a reading amplifier and integrator 88, whose output drives the flip-flop. The reading amplifier includes an integrator and it is driven by the reading coil of the associated core plane. Only one N gate waveform generator 94? is provided for the entire memory. This N gate waveform generator provides two output pulses which occur at a time relative to the waveforms C as shown in Figure 11 by waveformsD and E. Each of these is applied over a separate line to one of the two And gates and whichever one is primed by the flip-flop passes the N gate waveformto the inhibit coil driver 92 for the Y switch. The N, gate waveform generator serves the purpose of generating waveforms which are applied to the inhibit coil driver to inhibit either the first or the second of the N driver pulses being applied to the switches so thata memory core is left either in P or driven to N. The inhibit coil driver '92 drives the inhibit coil shown in the switch in Figure 8. During the period of the P drive waveform B in Figure 13 any signal induced in-a storage matrix reading coil is integrated and the output isapplied by the reading amplifier 88 either to set the fliplop so that the first And gate is opened, thus inhibiting the switch during the period of the first N drive waveform or the flip-flop receives no signal from the reading amplifier (indicative of the condition P of the storage core), whereby And gate 2 permits inhibiting of the N drive during the second N drive pulse. Thus the output ofthe reading amplifier applied to the flip-flop determines which of the two N drive waveforms is applied to the switches and thereby whether a storage core in a particular core plane is set to P or N. Obviously, for initially writing in a core plane the condition of a selected core is very readily established by setting or resetting the flip-flop.

It will be noted that this system has the advantage that only precision current driver circuits required are one for the X drive and one each for the P and N drive. All other drivers are truly digital in operation since it is only required that they provide enough current. Any excess of the required amount of current does not upset the system.

Other switching systems and other waveform generators may be used in place of the one shown herein to generate the current waveforms of the type shown in Figures 4 and 5 to provide a program which minimizes delta effects. The showing of the system herein is by way of example for carrying out the reading and'writing cycles for the memory and is not to be construed as the only one capable of carrying out this program. The articles previously referred to show other switches also capable of being driven to carry out the required waveform program.

.The switch describedin Figure 8 can be used for the program of Figure 5 if a separate N restore amplifier is used in each digit plane. In such a system the common P driver of Figure 10 is retained but the N driver is omitted. Theinhibit driver D in each plane is used as an N restore driver, the inhibit winding in the switch being omitted. All selected switch cores are driven first to Pby the common P driver and then each digit plane circuit is restoredseparately either during the XP period or the XN period.

This system is more economical than the systemsdescribed previously, as the tubes representing the N driver are omitted and one winding is omitted from the switch. It has the further advantage that only one switch core perclement is needed. It has the disadvantage that the '15 number of current sensitive analogue type circuits are increased.

A logical extension of the above principle is to omit the common P driver and have a separate P driver in each digit plane. The two plane drivers can drive either a P and N winding in each switch, this will be illustrated later, or if they are arranged in a manner similar to the X drivers they can drive only one win/ding used for both P and N circuits. This effects a further economy in the number of wires linking any switch core. It has been found in practice that this method of drive does not require any more tubes than the common P drive. It has the disadvantage that there is a further increase in the number of analogue circuits. It has, however, two important advantages. First, provided that the cores in each switch are uniform, it is not necessary to have uniformity from switch to switch, as the digit plane drives can be adjusted to compensate for nonuniformity of the switch cores. Second, if it is desired to read or Write in part of the memory only, it is unnecessary to disturb the undesired plane s. This is extremely important, as it reduces the danger of error, and since the X drive is always applied it reduces the value of delta effect. This phenomenonwill be described later.

Reference is now made to Figure 12, which is a circuit diagram of a waveform generator capable of generating the waveforms required to timethe operation of the system shown in Figure 10. Figure 13 shows the waveforms which are generated by the operation of the circuits shown in Figure 12.

' A pulse shown in Figure 13 as waveform A generated by a source (not shown) is fed via a terminal 100 to the grid of a tube 101 to drive it to cutofi. A tube 102 has a cutoff bias applied to its grid and, hence, the potential at the common cathode connection of tubes 101, 102, and 103 falls, causing tube 103, which has its grid grounded, to conduct. Tubes 103 and 104 have a common anode load resistor, so that when tube 103 conducts this causes the anode of tube 104 to fall in voltage. The grid of tube 105 is connected to the plate of tube 104 and receives the negative going signal, and, consequently, the plate of tube 105 rises. Tubes 104 and 105 have cross-connected plates and grids in the form of a bistable multivibrator. The grid of tube 104, which rises when the plate of tube 105 rises, is also connected to (1) the grid of tube 102, (2) to the suppressor grid of tube 107, and (3) to a first output terminal 120. Thus from tube 104 a positive potential is applied to the grid of tube 102 to cause it to conduct. This drives tube 103 to cut off, thus holding tubes 104 and 105 and disconnecting the pulse source from the circuit. The waveform at the grid of tube 104 shown in Figure 13B is applied to the first output terminal to indicate to associated circuitry that a storage cycle is in process. Tube 107 is biased so that it will not conduct until the pulse waveform B is applied to its suppressorgrid from the grid of tube 104. The plate of tube 107 then draws current, depressing the grid of tube 107 via tube 108 and the feedback condenser 121. Tubes 107 and 108 are connected in the form of a conventional Miller sawtooth generator with cathode follower output. This type of circuit is shown and described in detail in Electronic Instruments by Greenwood et al., page 81, published'by the McGraw-Hill Book Company. The voltage at-the cathode of tube 108 falls linearly as illustrated bywaveform 13C. The grid of tube 110 is biased from a source 122 to be at potential designated by an A in Figure 13, which is about volts. When the voltage at the cathode oftube 108 falls below the potential A, tube 109, which has its grid connected to the cathode of tube 108 and its cathode connected to the cathode of tube 110, is out OK and tube 110 conducts. As the plate of tube 109 rises, it applies a positive going voltage to the grid'of tube 106, causing it to conduct, thereby resetting tubes 104 and 105 to their initial state. This causes the suppressor grid' of tube 107 to become negative again,

and the plate of tube 107 rises, bringing along the cathode of tube 108. As a result of this operation, a waveform shown by 13D is produced at the plate of tube 104. Tubes 111 and 112 and tubes 113 and 114 operate in similar fashion and are similarly connected as are tubes 109 and 110, except that the grids of tubes 112 and 114 are biased at potentials B and C from respective sources 123 and 124. These potentials are between the B+ on tube 108 and potential A. The plate of tube 112 produces waveform 13B and the plate of tube 113 produces waveform 13F. Waveforms 13D, 13B, and 13F are combined in the And gate circuit provided by tubes 115, 116, and 117 to produce waveform 136. The three tubes have a common cathode connection which is also connected to an output terminal 125. The three tubes have their grids respectively connected to the anodes of tubes 112, 113, and 104. In standby condition, tubes 115 and 117 are con ducting, tube 116 is cut off, and a positive voltage appears at the common cathode. The negative outputs from tubes 104 and 112 render all three tubes cut off and the common cathode potential goes negative. This condition exists until tube 113 is cut off and applies a positive going pulse to tube 116. This causes tube 116 to conduct and the cathode potential goes positive again (waveform G in Figure 13).

Waveform G is a typical timing pulse. By placing a tube circuit such as 111 and 112 at each voltage corresponding to each time transition, i. e., the time required for the integrator to fall to that voltage, it is possible to have waveforms such as 15B and 15F available at each transition point. These may be combined in tube circuits such as 115, 116, and 117 to form waveforms having desired startingtimes and durations, such as those shown in Figure 11. Where waveforms must rise or fall slowly, a series resistance and a shunt capacitance at the grids of the And gates will provide the necessary slow rise and fall.

Figure 14 is a logical diagram of the switching circuits required to select a desired column coil out of the 32 in the 32 x 128 matrix used as an illustration. Because of the use of the rectangular matrix, the number of column coils is considerably reduced and, hence, direct drive, using vacuum tubes, is feasible. Direct drive has the advantage that extremely accurate control of the driving current pulse is possible. The system also has the further advantage that the X pulses rise and fall very slowly. Therefore, it is possible to have many turns linking the cores in the X direction and the current that is necessary is small. The portion of the schematic circuit shown inside the dotted lines is shown in detail in Figure 15.

Five pairs of input address lines are employed for selecting the one out of 32 column coils to be driven. Pushpull signals are applied to these lines. These are readily obtained from trigger circuits (not shown), one for each pair of lines.

The five pairs of input address lines :2", :2 :2 :2 and :2 are decoded into a one-out-of-four form and a one-out-of-eight form by connections to the logical And circuits 130441 of Figure 14. Tubes 226 and 227 (Figure 15) are one of the four one-out-of-four and have decoding circuits, and tubes 223, 224, and 225 represent one of the one-out-of-eight circuits. These are the normal type of common cathode coupled logical And circuits, in which the signals applied to all input grids must be negative in order to obtain a negative output from the cathode. These And gates are more fully described in High Speed Computing Devices by Engineering Research Associates, published by the McGraw-Hill Book Company.

The amplifying And gates -161 are exactly the same circuitry as the logical And gates, except that tubes 228 and 229, the actual gate, have their common cathodes connected to 'the cathode of a tube 230 which is a grounded grid amplifier. Thus the And gates drive the grounded grid amplifier. This tube, in turn, drives a normal amplifier 231. 4 It is arranged that the output of tube 

